package pokerSaloon.vue;

import java.awt.Color;
import java.rmi.RemoteException;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;

import pokerSaloon.InterPartie;
import pokerSaloon.Joueur;
import pokerSaloon.controller.PartieController;
import pokerSaloon.listener.PartieListener;
import pokerSaloon.model.Carte;
import pokerSaloon.model.Tableau;
import pokerSaloon.model.User;
import pokerSaloon.model.UserImpl;
import javax.swing.JFrame;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * fenJeu.java
 *
 * Created on 26 févr. 2010, 16:15:57
 */

/**
 *
 * @author animateur
 */
public class fenJeu extends javax.swing.JFrame implements View, PartieListener {

    /**
	 * 
	 */
	private static final long serialVersionUID = 559042858395791464L;
	private PartieController controller;
	
	/** Creates new form fenJeu */
    public fenJeu(PartieController controller) {
        
    	this.controller = controller;
    	
        //On se positionne comme observateur
        UserImpl.getInstance().addPartieListener(this);
    	
    	initComponents();
    	
    	try {
			updateAffichage();
		} catch (RemoteException e) {
			e.printStackTrace();
		}
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    
    private void initComponents() {

        barreAction = new javax.swing.JToolBar();
        espace = new javax.swing.JLabel();
        separateur6 = new javax.swing.JToolBar.Separator();
        btnParler = new javax.swing.JButton();
        separateur1 = new javax.swing.JToolBar.Separator();
        btnSuivre = new javax.swing.JButton();
        separateur2 = new javax.swing.JToolBar.Separator();
        btnRelancer = new javax.swing.JButton();
        saisieMontant = new javax.swing.JTextField();
        separateur3 = new javax.swing.JToolBar.Separator();
        btnTapis = new javax.swing.JButton();
        separateur4 = new javax.swing.JToolBar.Separator();
        btnSeCoucher = new javax.swing.JButton();
        separateur5 = new javax.swing.JToolBar.Separator();
        PanImageTable = new javax.swing.JPanel(){
        
			private static final long serialVersionUID = 1L;

			public void paintComponent(java.awt.Graphics g) {
                g.drawImage(new ImageIcon(getClass().getResource("/images/table.png")).getImage(), 0, 0, null);
            }
        };
        labelMise1 = new javax.swing.JLabel();
        labelMise2 = new javax.swing.JLabel();
        labelMise3 = new javax.swing.JLabel();
        labelMise4 = new javax.swing.JLabel();
        labelMise5 = new javax.swing.JLabel();
        labelMise6 = new javax.swing.JLabel();
        labelMise7 = new javax.swing.JLabel();
        labelMise8 = new javax.swing.JLabel();
        labelMise9 = new javax.swing.JLabel();
        labelMise10 = new javax.swing.JLabel();
        imgFlop1 = new javax.swing.JLabel();
        imgFlop2 = new javax.swing.JLabel();
        imgFlop3 = new javax.swing.JLabel();
        imgTurn = new javax.swing.JLabel();
        imgRiver = new javax.swing.JLabel();
        labelPot = new javax.swing.JLabel();
        panJoueur1 = new javax.swing.JPanel();
        labelCave1 = new javax.swing.JLabel();
        labelJoueur1 = new javax.swing.JLabel();
        panJoueur2 = new javax.swing.JPanel();
        labelCave2 = new javax.swing.JLabel();
        labelJoueur2 = new javax.swing.JLabel();
        panJoueur3 = new javax.swing.JPanel();
        labelCave3 = new javax.swing.JLabel();
        labelJoueur3 = new javax.swing.JLabel();
        panJoueur4 = new javax.swing.JPanel();
        labelCave4 = new javax.swing.JLabel();
        labelJoueur4 = new javax.swing.JLabel();
        panJoueur5 = new javax.swing.JPanel();
        labelCave5 = new javax.swing.JLabel();
        labelJoueur5 = new javax.swing.JLabel();
        panJoueur6 = new javax.swing.JPanel();
        labelCave6 = new javax.swing.JLabel();
        labelJoueur6 = new javax.swing.JLabel();
        panJoueur7 = new javax.swing.JPanel();
        labelCave7 = new javax.swing.JLabel();
        labelJoueur7 = new javax.swing.JLabel();
        panJoueur8 = new javax.swing.JPanel();
        labelCave8 = new javax.swing.JLabel();
        labelJoueur8 = new javax.swing.JLabel();
        panJoueur9 = new javax.swing.JPanel();
        labelCave9 = new javax.swing.JLabel();
        labelJoueur9 = new javax.swing.JLabel();
        panJoueur10 = new javax.swing.JPanel();
        labelCave10 = new javax.swing.JLabel();
        labelJoueur10 = new javax.swing.JLabel();
        carteJoueur2 = new javax.swing.JLabel();
        carteJoueur1 = new javax.swing.JLabel();
        labelLogAction1 = new javax.swing.JLabel();
        labelLogAction2 = new javax.swing.JLabel();
        labelLogAction = new javax.swing.JLabel();
        labelLogAction3 = new javax.swing.JLabel();
        menuPrincipal3 = new javax.swing.JMenuBar();
        menuPokerSaloon3 = new javax.swing.JMenu();
        menuItemQuitter3 = new javax.swing.JMenuItem();
        menuAide3 = new javax.swing.JMenu();
        menuItemManuel3 = new javax.swing.JMenuItem();
        MenuItemAPropos3 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        try {
			setTitle("Poker Saloon : "+UserImpl.getInstance().getPseudo());
		} catch (RemoteException e) {
			e.printStackTrace();
		}
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                formWindowClosing(evt);
            }
        });

        barreAction.setFloatable(false);
        barreAction.setRollover(true);

        espace.setText("                                                                                                     ");
        barreAction.add(espace);
        barreAction.add(separateur6);

        btnParler.setText("Parler");
        btnParler.setToolTipText("to check");
        btnParler.setFocusable(false);
        btnParler.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnParler.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnParler.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnParlerActionPerformed(evt);
            }
        });
        barreAction.add(btnParler);
        btnParler.setEnabled(false);
        barreAction.add(separateur1);

        btnSuivre.setText("Suivre");
        btnSuivre.setToolTipText("to call");
        btnSuivre.setFocusable(false);
        btnSuivre.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnSuivre.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnSuivre.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSuivreActionPerformed(evt);
            }
        });
        btnSuivre.setEnabled(false);
        barreAction.add(btnSuivre);
        barreAction.add(separateur2);

        btnRelancer.setText("Relancer");
        btnRelancer.setToolTipText("to raise");
        btnRelancer.setFocusable(false);
        btnRelancer.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnRelancer.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnRelancer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRelancerActionPerformed(evt);
            }
        });
        btnRelancer.setEnabled(false);
        barreAction.add(btnRelancer);

        saisieMontant.setToolTipText("montant de la relance");
        saisieMontant.setMaximumSize(new java.awt.Dimension(50, 27));
        saisieMontant.setMinimumSize(new java.awt.Dimension(50, 27));
        saisieMontant.setPreferredSize(new java.awt.Dimension(50, 27));
        saisieMontant.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                saisieMontantActionPerformed(evt);
            }
        });
        saisieMontant.setEnabled(false);
        barreAction.add(saisieMontant);
        barreAction.add(separateur3);

        btnTapis.setText("Tapis");
        btnTapis.setFocusable(false);
        btnTapis.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnTapis.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnTapis.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTapisActionPerformed(evt);
            }
        });
        btnTapis.setEnabled(false);
        barreAction.add(btnTapis);
        barreAction.add(separateur4);

        btnSeCoucher.setText("Se coucher");
        btnSeCoucher.setToolTipText("to fold");
        btnSeCoucher.setFocusable(false);
        btnSeCoucher.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        btnSeCoucher.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnSeCoucher.setEnabled(false);
        btnSeCoucher.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSeCoucherActionPerformed(evt);
            }
        });
        barreAction.add(btnSeCoucher);
        barreAction.add(separateur5);

        PanImageTable.setBackground(java.awt.Color.lightGray);
        PanImageTable.setMaximumSize(new java.awt.Dimension(710, 329));
        PanImageTable.setMinimumSize(new java.awt.Dimension(710, 329));
        PanImageTable.setPreferredSize(new java.awt.Dimension(710, 329));

        labelMise1.setForeground(new java.awt.Color(255, 255, 255));
        labelMise1.setFocusable(false);

        labelMise2.setForeground(new java.awt.Color(255, 255, 255));

        labelMise3.setForeground(new java.awt.Color(255, 255, 255));

        labelMise4.setForeground(new java.awt.Color(255, 255, 255));

        labelMise5.setForeground(new java.awt.Color(255, 255, 255));

        labelMise6.setForeground(new java.awt.Color(255, 255, 255));

        labelMise7.setForeground(new java.awt.Color(255, 255, 255));

        labelMise8.setForeground(new java.awt.Color(255, 255, 255));

        labelMise9.setForeground(new java.awt.Color(255, 255, 255));

        labelMise10.setForeground(new java.awt.Color(255, 255, 255));

        imgFlop1.setBackground(new java.awt.Color(0, 153, 0));
        imgFlop1.setMinimumSize(new java.awt.Dimension(71, 96));
        imgFlop1.setPreferredSize(new java.awt.Dimension(71, 96));

        imgFlop2.setBackground(new java.awt.Color(0, 153, 0));
        imgFlop2.setPreferredSize(new java.awt.Dimension(71, 96));

        imgFlop3.setBackground(new java.awt.Color(0, 153, 0));
        imgFlop3.setPreferredSize(new java.awt.Dimension(71, 96));

        imgTurn.setBackground(new java.awt.Color(0, 153, 0));
        imgTurn.setPreferredSize(new java.awt.Dimension(71, 96));

        imgRiver.setBackground(new java.awt.Color(0, 153, 0));
        imgRiver.setMinimumSize(new java.awt.Dimension(71, 96));
        imgRiver.setPreferredSize(new java.awt.Dimension(71, 96));

        labelPot.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        labelPot.setForeground(new java.awt.Color(255, 255, 255));
        labelPot.setText("Pot : ");

        javax.swing.GroupLayout PanImageTableLayout = new javax.swing.GroupLayout(PanImageTable);
        PanImageTable.setLayout(PanImageTableLayout);
        PanImageTableLayout.setHorizontalGroup(
            PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanImageTableLayout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addGap(74, 74, 74)
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelMise2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(labelMise5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PanImageTableLayout.createSequentialGroup()
                                .addGap(170, 170, 170)
                                .addComponent(labelMise6, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(152, 152, 152)
                                .addComponent(labelMise7, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PanImageTableLayout.createSequentialGroup()
                                .addGap(343, 343, 343)
                                .addComponent(labelMise10, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(13, 13, 13)))
                        .addGap(117, 117, 117))
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelMise4, javax.swing.GroupLayout.DEFAULT_SIZE, 57, Short.MAX_VALUE)
                            .addComponent(labelMise3, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(labelMise8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, PanImageTableLayout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 442, Short.MAX_VALUE)
                                .addComponent(labelMise9, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(PanImageTableLayout.createSequentialGroup()
                                .addGap(81, 81, 81)
                                .addComponent(imgFlop1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(imgFlop2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelMise1, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(PanImageTableLayout.createSequentialGroup()
                                        .addComponent(imgFlop3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(38, 38, 38)
                                        .addComponent(imgTurn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(43, 43, 43)
                                        .addComponent(imgRiver, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGap(33, 33, 33))))
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addGap(284, 284, 284)
                        .addComponent(labelPot, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 266, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(372, 372, 372))
        );
        PanImageTableLayout.setVerticalGroup(
            PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(PanImageTableLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelMise5, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(labelMise7, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(labelMise6, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(31, 31, 31)
                        .addComponent(labelMise8, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addGap(69, 69, 69)
                        .addComponent(labelMise4, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(10, 10, 10)
                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(imgFlop1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(imgFlop2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(imgFlop3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(imgTurn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(imgRiver, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(31, 31, 31)
                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(labelMise3, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(PanImageTableLayout.createSequentialGroup()
                        .addComponent(labelMise9, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(13, 13, 13)
                        .addComponent(labelPot)
                        .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(PanImageTableLayout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(labelMise10, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(PanImageTableLayout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(PanImageTableLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(labelMise2, javax.swing.GroupLayout.PREFERRED_SIZE, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(labelMise1, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        labelCave1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave1.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur1Layout = new javax.swing.GroupLayout(panJoueur1);
        panJoueur1.setLayout(panJoueur1Layout);
        panJoueur1Layout.setHorizontalGroup(
            panJoueur1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 123, Short.MAX_VALUE)
            .addGroup(panJoueur1Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur1)
                .addContainerGap(96, Short.MAX_VALUE))
        );
        panJoueur1Layout.setVerticalGroup(
            panJoueur1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur1Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave1)
                .addContainerGap())
        );

        labelCave2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave2.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur2Layout = new javax.swing.GroupLayout(panJoueur2);
        panJoueur2.setLayout(panJoueur2Layout);
        panJoueur2Layout.setHorizontalGroup(
            panJoueur2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur2Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur2)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur2Layout.setVerticalGroup(
            panJoueur2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur2Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave2)
                .addContainerGap())
        );

        labelCave3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave3.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur3Layout = new javax.swing.GroupLayout(panJoueur3);
        panJoueur3.setLayout(panJoueur3Layout);
        panJoueur3Layout.setHorizontalGroup(
            panJoueur3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 141, Short.MAX_VALUE)
            .addGroup(panJoueur3Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur3)
                .addContainerGap(114, Short.MAX_VALUE))
        );
        panJoueur3Layout.setVerticalGroup(
            panJoueur3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur3Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave3)
                .addContainerGap())
        );

        labelCave4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave4.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur4Layout = new javax.swing.GroupLayout(panJoueur4);
        panJoueur4.setLayout(panJoueur4Layout);
        panJoueur4Layout.setHorizontalGroup(
            panJoueur4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur4Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur4)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur4Layout.setVerticalGroup(
            panJoueur4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur4Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave4)
                .addContainerGap())
        );

        panJoueur5.setMinimumSize(new java.awt.Dimension(99, 23));

        labelCave5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave5.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur5Layout = new javax.swing.GroupLayout(panJoueur5);
        panJoueur5.setLayout(panJoueur5Layout);
        panJoueur5Layout.setHorizontalGroup(
            panJoueur5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur5Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur5)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur5Layout.setVerticalGroup(
            panJoueur5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur5Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave5)
                .addContainerGap())
        );

        panJoueur6.setMinimumSize(new java.awt.Dimension(99, 23));

        labelCave6.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave6.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur6Layout = new javax.swing.GroupLayout(panJoueur6);
        panJoueur6.setLayout(panJoueur6Layout);
        panJoueur6Layout.setHorizontalGroup(
            panJoueur6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur6Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur6)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur6Layout.setVerticalGroup(
            panJoueur6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur6Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave6)
                .addContainerGap())
        );

        panJoueur7.setMinimumSize(new java.awt.Dimension(99, 23));

        labelCave7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave7.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur7Layout = new javax.swing.GroupLayout(panJoueur7);
        panJoueur7.setLayout(panJoueur7Layout);
        panJoueur7Layout.setHorizontalGroup(
            panJoueur7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur7Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur7)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur7Layout.setVerticalGroup(
            panJoueur7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur7Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave7)
                .addContainerGap())
        );

        labelCave8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave8.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur8Layout = new javax.swing.GroupLayout(panJoueur8);
        panJoueur8.setLayout(panJoueur8Layout);
        panJoueur8Layout.setHorizontalGroup(
            panJoueur8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave8, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur8Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur8)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur8Layout.setVerticalGroup(
            panJoueur8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur8Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur8)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave8)
                .addContainerGap())
        );

        labelCave9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave9.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur9Layout = new javax.swing.GroupLayout(panJoueur9);
        panJoueur9.setLayout(panJoueur9Layout);
        panJoueur9Layout.setHorizontalGroup(
            panJoueur9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 99, Short.MAX_VALUE)
            .addGroup(panJoueur9Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur9)
                .addContainerGap(72, Short.MAX_VALUE))
        );
        panJoueur9Layout.setVerticalGroup(
            panJoueur9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur9Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur9)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave9)
                .addContainerGap())
        );

        labelCave10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        labelCave10.setToolTipText("cave du joueur");

        javax.swing.GroupLayout panJoueur10Layout = new javax.swing.GroupLayout(panJoueur10);
        panJoueur10.setLayout(panJoueur10Layout);
        panJoueur10Layout.setHorizontalGroup(
            panJoueur10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(labelCave10, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 105, Short.MAX_VALUE)
            .addGroup(panJoueur10Layout.createSequentialGroup()
                .addGap(27, 27, 27)
                .addComponent(labelJoueur10)
                .addContainerGap(78, Short.MAX_VALUE))
        );
        panJoueur10Layout.setVerticalGroup(
            panJoueur10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panJoueur10Layout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(labelJoueur10)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCave10)
                .addContainerGap())
        );

        carteJoueur2.setPreferredSize(new java.awt.Dimension(71, 96));

        carteJoueur1.setPreferredSize(new java.awt.Dimension(71, 96));

        labelLogAction1.setMaximumSize(new java.awt.Dimension(400, 15));
        labelLogAction1.setMinimumSize(new java.awt.Dimension(400, 15));
        labelLogAction1.setPreferredSize(new java.awt.Dimension(400, 15));

        labelLogAction2.setMaximumSize(new java.awt.Dimension(400, 15));
        labelLogAction2.setMinimumSize(new java.awt.Dimension(400, 15));
        labelLogAction2.setPreferredSize(new java.awt.Dimension(400, 15));

        labelLogAction.setMaximumSize(new java.awt.Dimension(400, 15));
        labelLogAction.setMinimumSize(new java.awt.Dimension(400, 15));
        labelLogAction.setPreferredSize(new java.awt.Dimension(400, 15));

        labelLogAction3.setMaximumSize(new java.awt.Dimension(400, 15));
        labelLogAction3.setMinimumSize(new java.awt.Dimension(400, 15));
        labelLogAction3.setPreferredSize(new java.awt.Dimension(400, 15));

        menuPokerSaloon3.setText("Poker Saloon");

        menuItemQuitter3.setText("Quitter");
        menuItemQuitter3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                menuItemQuitterActionPerformed(evt);
            }
        });
        menuPokerSaloon3.add(menuItemQuitter3);

        menuPrincipal3.add(menuPokerSaloon3);

        menuAide3.setText("Aide");

        menuItemManuel3.setText("Manuel d'utilisation");
        menuAide3.add(menuItemManuel3);

        MenuItemAPropos3.setText("A propos");
        MenuItemAPropos3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                MenuItemAProposActionPerformed(evt);
            }
        });
        menuAide3.add(MenuItemAPropos3);

        menuPrincipal3.add(menuAide3);

        setJMenuBar(menuPrincipal3);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(panJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(panJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(0, 0, 0)
                                .addComponent(PanImageTable, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, 0)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(panJoueur9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(panJoueur8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(23, 23, 23))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(243, 243, 243)
                                .addComponent(panJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(82, 82, 82)
                                .addComponent(panJoueur6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(73, 73, 73)
                                .addComponent(panJoueur7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 255, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(carteJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(carteJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(panJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(83, 83, 83)
                                        .addComponent(panJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                                .addGap(89, 89, 89)
                                .addComponent(panJoueur10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(271, 271, 271))))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addGap(569, 569, 569)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(labelLogAction3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE)
                            .addComponent(labelLogAction2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE)
                            .addComponent(labelLogAction1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE)
                            .addComponent(labelLogAction, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 500, Short.MAX_VALUE)))
                    .addComponent(barreAction, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 1069, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                    .addComponent(panJoueur5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(panJoueur6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(panJoueur7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(0, 0, 0)
                                .addComponent(PanImageTable, javax.swing.GroupLayout.PREFERRED_SIZE, 331, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(149, 149, 149)
                                .addComponent(panJoueur4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(70, 70, 70)
                                .addComponent(panJoueur3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, 0)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(panJoueur10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(panJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(panJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(146, 146, 146)
                        .addComponent(panJoueur8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(71, 71, 71)
                        .addComponent(panJoueur9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(85, 85, 85)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(labelLogAction3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelLogAction2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelLogAction1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(labelLogAction, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(carteJoueur2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(carteJoueur1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 81, Short.MAX_VALUE)
                .addComponent(barreAction, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void menuItemQuitterActionPerformed(java.awt.event.ActionEvent evt) {
        OutilsInterface.quitter(this);
    }

    private void MenuItemAProposActionPerformed(java.awt.event.ActionEvent evt) {
        OutilsInterface.aPropos(this);
    }

    private void btnTapisActionPerformed(java.awt.event.ActionEvent evt) {
        controller.tapis();
    }

    private void btnSuivreActionPerformed(java.awt.event.ActionEvent evt) {
        controller.suivre();
    }

    private void saisieMontantActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void btnParlerActionPerformed(java.awt.event.ActionEvent evt) {
       controller.parler();
    }

    private void btnRelancerActionPerformed(java.awt.event.ActionEvent evt) {
        String regex ="[0-9]+";
        if(saisieMontant.getText().matches(regex)){
            controller.relancer(Integer.parseInt(saisieMontant.getText()));
        }else{
            afficheMsgDialog("Veuillez saisir une valeur positive comme relance.","Erreur");
        }
    }

    private void btnSeCoucherActionPerformed(java.awt.event.ActionEvent evt) {
        controller.seCoucher();
    }

    private void formWindowClosing(java.awt.event.WindowEvent evt) {
        Joueur.finPartieInter();
    }

    // Variables declaration 
    /**
	 * @uml.property  name="menuItemAPropos3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenuItem MenuItemAPropos3;
    /**
	 * @uml.property  name="panImageTable"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel PanImageTable;
    /**
	 * @uml.property  name="barreAction"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar barreAction;
    /**
	 * @uml.property  name="btnParler"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JButton btnParler;
    /**
	 * @uml.property  name="btnRelancer"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JButton btnRelancer;
    /**
	 * @uml.property  name="btnSeCoucher"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JButton btnSeCoucher;
    /**
	 * @uml.property  name="btnSuivre"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JButton btnSuivre;
    /**
	 * @uml.property  name="btnTapis"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JButton btnTapis;
    /**
	 * @uml.property  name="carteJoueur1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel carteJoueur1;
    /**
	 * @uml.property  name="carteJoueur2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel carteJoueur2;
    /**
	 * @uml.property  name="espace"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel espace;
    /**
	 * @uml.property  name="imgFlop1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel imgFlop1;
    /**
	 * @uml.property  name="imgFlop2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel imgFlop2;
    /**
	 * @uml.property  name="imgFlop3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel imgFlop3;
    /**
	 * @uml.property  name="imgRiver"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel imgRiver;
    /**
	 * @uml.property  name="imgTurn"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel imgTurn;
    /**
	 * @uml.property  name="labelCave1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave1;
    /**
	 * @uml.property  name="labelCave10"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave10;
    /**
	 * @uml.property  name="labelCave2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave2;
    /**
	 * @uml.property  name="labelCave3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave3;
    /**
	 * @uml.property  name="labelCave4"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave4;
    /**
	 * @uml.property  name="labelCave5"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave5;
    /**
	 * @uml.property  name="labelCave6"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave6;
    /**
	 * @uml.property  name="labelCave7"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave7;
    /**
	 * @uml.property  name="labelCave8"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave8;
    /**
	 * @uml.property  name="labelCave9"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelCave9;
    /**
	 * @uml.property  name="labelJoueur1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur1;
    /**
	 * @uml.property  name="labelJoueur10"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur10;
    /**
	 * @uml.property  name="labelJoueur2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur2;
    /**
	 * @uml.property  name="labelJoueur3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur3;
    /**
	 * @uml.property  name="labelJoueur4"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur4;
    /**
	 * @uml.property  name="labelJoueur5"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur5;
    /**
	 * @uml.property  name="labelJoueur6"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur6;
    /**
	 * @uml.property  name="labelJoueur7"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur7;
    /**
	 * @uml.property  name="labelJoueur8"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur8;
    /**
	 * @uml.property  name="labelJoueur9"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelJoueur9;
    /**
	 * @uml.property  name="labelLogAction"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelLogAction;
    /**
	 * @uml.property  name="labelLogAction1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelLogAction1;
    /**
	 * @uml.property  name="labelLogAction2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelLogAction2;
    /**
	 * @uml.property  name="labelLogAction3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelLogAction3;
    /**
	 * @uml.property  name="labelMise1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise1;
    /**
	 * @uml.property  name="labelMise10"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise10;
    /**
	 * @uml.property  name="labelMise2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise2;
    /**
	 * @uml.property  name="labelMise3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise3;
    /**
	 * @uml.property  name="labelMise4"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise4;
    /**
	 * @uml.property  name="labelMise5"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise5;
    /**
	 * @uml.property  name="labelMise6"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise6;
    /**
	 * @uml.property  name="labelMise7"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise7;
    /**
	 * @uml.property  name="labelMise8"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise8;
    /**
	 * @uml.property  name="labelMise9"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelMise9;
    /**
	 * @uml.property  name="labelPot"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JLabel labelPot;
    /**
	 * @uml.property  name="menuAide3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenu menuAide3;
    /**
	 * @uml.property  name="menuItemManuel3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenuItem menuItemManuel3;
    /**
	 * @uml.property  name="menuItemQuitter3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenuItem menuItemQuitter3;
    /**
	 * @uml.property  name="menuPokerSaloon3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenu menuPokerSaloon3;
    /**
	 * @uml.property  name="menuPrincipal3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JMenuBar menuPrincipal3;
    /**
	 * @uml.property  name="panJoueur1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur1;
    /**
	 * @uml.property  name="panJoueur10"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur10;
    /**
	 * @uml.property  name="panJoueur2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur2;
    /**
	 * @uml.property  name="panJoueur3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur3;
    /**
	 * @uml.property  name="panJoueur4"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur4;
    /**
	 * @uml.property  name="panJoueur5"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur5;
    /**
	 * @uml.property  name="panJoueur6"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur6;
    /**
	 * @uml.property  name="panJoueur7"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur7;
    /**
	 * @uml.property  name="panJoueur8"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur8;
    /**
	 * @uml.property  name="panJoueur9"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JPanel panJoueur9;
    /**
	 * @uml.property  name="saisieMontant"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JTextField saisieMontant;
    /**
	 * @uml.property  name="separateur1"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur1;
    /**
	 * @uml.property  name="separateur2"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur2;
    /**
	 * @uml.property  name="separateur3"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur3;
    /**
	 * @uml.property  name="separateur4"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur4;
    /**
	 * @uml.property  name="separateur5"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur5;
    /**
	 * @uml.property  name="separateur6"
	 * @uml.associationEnd  multiplicity="(1 1)"
	 */
    private javax.swing.JToolBar.Separator separateur6;


    /**
     * Active ou désactive suivant la condition initiale le panneau d'action joueur.
     * @throws RemoteException 
     */
    public void setPanJeu() throws RemoteException {
    	InterPartie partie = UserImpl.getInstance().getPartie();
    	
        if(partie.getJoueurCourant().getPseudo().equals(UserImpl.getInstance().getPseudo())){
  
            btnParler.setEnabled(true);
            btnRelancer.setEnabled(true);
            btnSeCoucher.setEnabled(true);
            btnSuivre.setEnabled(true);
            btnTapis.setEnabled(true);
            saisieMontant.setEnabled(true);
            
        }else{
        	
            btnParler.setEnabled(false);
            btnRelancer.setEnabled(false);
            btnSeCoucher.setEnabled(false);
            btnSuivre.setEnabled(false);
            btnTapis.setEnabled(false);
            saisieMontant.setEnabled(false);

        }
        
        this.repaint();
    }

    /**
     * actualise la mise a jour des joueurs et leurs cave
     * @throws RemoteException 
     */
    public void updateAffichage() throws RemoteException{

    	InterPartie partie = UserImpl.getInstance().getPartie();
    	
    	
        // Affichage du pot.
        labelPot.setText("Pot : "+Integer.toString(partie.getPot()));
        
        User[] joueur =  new User [10];
        for(int i=0; i <  partie.getUsers().size() ; i++){
        	joueur[i] = partie.getUsers().get(i);
        }
        
        // Joueur 1
        if (joueur[0]== null) {
            panJoueur1.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur1.setText("");
            labelCave1.setText("");
            labelMise1.setText("");
        }else{
            panJoueur1.setVisible(true);
            if (joueur[0].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur1.setBackground(Color.GREEN);
            } else {
                panJoueur1.setBackground(Color.red);
            }

            if(joueur[0].equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur1.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur1.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur1.setText(joueur[0].getPseudo());
            labelCave1.setText(""+joueur[0].getCave());
            labelMise1.setText(""+joueur[0].getMise());
        }

        // Joueur 2
        if (joueur[1] == null) {
            panJoueur2.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur2.setText("");
            labelCave2.setText("");
            labelMise2.setText("");
        }else{
            panJoueur2.setVisible(true);
            if (joueur[1].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur2.setBackground(Color.GREEN);              
            } else {  
                panJoueur2.setBackground(Color.red);
            }

            if(joueur[1].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur2.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur2.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }
            
            labelJoueur2.setText(joueur[1].getPseudo());
            labelCave2.setText(""+joueur[1].getCave());
            labelMise2.setText(""+joueur[1].getMise());          
        }

        // Joueur 3
        if (joueur[2]== null) {
            panJoueur3.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur3.setText("");
            labelCave3.setText("");
            labelMise3.setText("");
        }else{
            panJoueur3.setVisible(true);
            if (joueur[2].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur3.setBackground(Color.GREEN);
            } else {
                panJoueur3.setBackground(Color.red);
            }

            if(joueur[2].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur3.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur3.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }
          
            labelJoueur3.setText(joueur[2].getPseudo());
            labelCave3.setText(""+joueur[2].getCave());
            labelMise3.setText(""+joueur[2].getMise());
        }

        // Joueur 4
        if (joueur[3]== null) {
            panJoueur4.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur4.setText("");
            labelCave4.setText("");
            labelMise4.setText("");
        }else{
            panJoueur4.setVisible(true);
            if (joueur[3].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur4.setBackground(Color.GREEN);
            } else {
                panJoueur4.setBackground(Color.red);
            }

            if(joueur[3].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur4.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur4.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur4.setText(joueur[3].getPseudo());
            labelCave4.setText(""+joueur[3].getCave());
            labelMise4.setText(""+joueur[3].getMise());
       }

        // Joueur 5
        if (joueur[4] == null) {
            panJoueur5.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur5.setText("");
            labelCave5.setText("");
            labelMise5.setText("");
        }else{
            panJoueur5.setVisible(true);
            if (joueur[4].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur5.setBackground(Color.GREEN);
            } else {
                panJoueur5.setBackground(Color.red);
            }

            if(joueur[4].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur5.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur5.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur5.setText(joueur[4].getPseudo());
            labelCave5.setText(""+joueur[4].getCave());
            labelMise5.setText(""+joueur[4].getMise());
        }

       // Joueur 6
        if (joueur[5] == null) {
            panJoueur6.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur6.setText("");
            labelCave6.setText("");
            labelMise6.setText("");
        }else{
            panJoueur6.setVisible(true);
            if (joueur[5].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur6.setBackground(Color.GREEN);
            } else {
                panJoueur6.setBackground(Color.red);
            }

            if(joueur[5].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur6.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur6.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur6.setText(joueur[5].getPseudo());
            labelCave6.setText(""+joueur[5].getCave());
            labelMise6.setText(""+joueur[5].getMise());
        }

        // Joueur 7
        if (joueur[6] == null) {
            panJoueur7.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur7.setText("");
            labelCave7.setText("");
            labelMise7.setText("");
        }else{
            panJoueur7.setVisible(true);
            if (joueur[6].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur7.setBackground(Color.GREEN);
            } else {
                panJoueur7.setBackground(Color.red);
            }

            if(joueur[6].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur7.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur7.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur7.setText(joueur[6].getPseudo());
            labelCave7.setText(""+joueur[6].getCave());
            labelMise7.setText(""+joueur[6].getMise());
        }

       // Joueur 8
        if (joueur[7] == null) {
            panJoueur8.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur8.setText("");
            labelCave8.setText("");
            labelMise8.setText("");
        }else{
            panJoueur8.setVisible(true);
            if (joueur[7].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur8.setBackground(Color.GREEN);
            } else {
                panJoueur8.setBackground(Color.red);
            }

            if(joueur[7].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur8.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur8.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur8.setText(joueur[7].getPseudo());
            labelCave8.setText(""+joueur[7].getCave());
            labelMise8.setText(""+joueur[7].getMise());
        }

       // Joueur 9
        if (joueur[8] == null) {
            panJoueur9.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur9.setText("");
            labelCave9.setText("");
            labelMise9.setText("");
        }else{
            panJoueur9.setVisible(true);
            if (joueur[8].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur9.setBackground(Color.GREEN);
            } else {
                panJoueur9.setBackground(Color.red);
            }

            if(joueur[8].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur9.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur9.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur9.setText(joueur[8].getPseudo());
            labelCave9.setText(""+joueur[8].getCave());
            labelMise9.setText(""+joueur[8].getMise());
        }

        // Joueur 10
        if (joueur[9] == null) {
            panJoueur10.setBackground(new java.awt.Color(240, 240, 240));
            labelJoueur10.setText("");
            labelCave10.setText("");
            labelMise10.setText("");
        }else{
            panJoueur10.setVisible(true);
            if (joueur[9].getPseudo().equals(partie.getJoueurCourant().getPseudo())) {
                panJoueur10.setBackground(Color.GREEN);
            } else {
                panJoueur10.setBackground(Color.red);
            }

            if(joueur[9].getPseudo().equals(partie.getJoueurCourant().getPseudo())){
                 panJoueur10.setBorder(BorderFactory.createLineBorder(Color.black, 2));
            }else{
                 panJoueur10.setBorder(BorderFactory.createLineBorder(Color.BLACK, 0));
            }

            labelJoueur10.setText(joueur[9].getPseudo());
            labelCave10.setText(""+joueur[9].getCave());
            labelMise10.setText(""+joueur[9].getMise());
        }
        
        setPanJeu();
        
        setCarteJoueur();
        
        setBoard();

         this.repaint();
    }

    /**
     * Notifier à l'utilisateur la dernière action effectuée.
     * @param string
     */
    public void setLogAction(String msg, boolean erreur) {
        if (erreur) {
            labelLogAction.setForeground(new java.awt.Color(255, 0, 0));
        } else {
            labelLogAction.setForeground(new java.awt.Color(0, 0, 0));
        }
        labelLogAction3.setText(labelLogAction2.getText());
        labelLogAction2.setText(labelLogAction1.getText());
        labelLogAction1.setText(labelLogAction.getText());
        labelLogAction.setText(msg);

        this.repaint();
    }

    public void setCarteJoueur(){
    	
		try {
			String carte1 = ""+UserImpl.getInstance().getCartePrivee().getCartesJoueur()[0].getNumero();
	    	carteJoueur1.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+carte1+".gif")));
	    	String carte2 = ""+UserImpl.getInstance().getCartePrivee().getCartesJoueur()[1].getNumero();
			carteJoueur2.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+carte2+".gif")));
		} catch (RemoteException e) {
			e.printStackTrace();
		};
       
    }

    public void setBoard() {
    	clearBoard();
    	
    	Tableau board;
		try {
			board = UserImpl.getInstance().getPartie().getBoard();
			
			String[] numCarte = new String[board.getTableau().size()];
	    	int i=0;
	    	for(Carte carte : board.getTableau()){
	    		numCarte[i++] = ""+carte.getNumero();
	    	}
	    	
	    	if(numCarte.length >= 3){
		        imgFlop1.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+numCarte[0]+".gif")));
		        imgFlop2.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+numCarte[1]+".gif")));
		        imgFlop3.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+numCarte[2]+".gif")));
	    	}
	       
	        if(numCarte.length >= 4){
	        	imgTurn.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+numCarte[3]+".gif")));
	        }
	        
	        if(numCarte.length >= 5){
	        	imgRiver.setIcon(new ImageIcon(getClass().getResource("/images/cartes/"+numCarte[4]+".gif")));
	        }
                 
	        this.repaint();
		} catch (RemoteException e) {
			e.printStackTrace();
		}
    	
    	
    }

    public void clearBoard() {
        imgRiver.setIcon(null);
        imgTurn.setIcon(null);
        imgFlop1.setIcon(null);
        imgFlop2.setIcon(null);
        imgFlop3.setIcon(null);
    }

	@Override
	public void displayView() {
		this.setVisible(true);	
	}


	@Override
	public void removeView() {
		this.setVisible(false);
	}


	@Override
	public void afficheMsgDialog(String message, String titre) {
		 javax.swing.JOptionPane.showMessageDialog(this, message,titre,2);
	}

	@Override
	public void partieChanged() {
		try {
			if(UserImpl.getInstance().getPartie() != null){
				System.out.println("mise a jour : "+UserImpl.getInstance().getPseudo());
				updateAffichage();
			}else{
				afficheMsgDialog("Vous avez perdu", "Fin");
				controller.quitterPartie();
			}
			
		} catch (RemoteException e) {
			e.printStackTrace();
		}
	}
}
